/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.geaSV.busquedas;

import com.geaSV.conexiones.conectarBD;
import com.geaSV.entities.solicitudServicioE;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author vash
 */
public class buscarSolicitud {

    private Connection conx = null;
    private Statement sttm;
    private ResultSet rs;

    public List<solicitudServicioE> buscarSolicitudes() throws SQLException {
        List<solicitudServicioE> lst = new ArrayList<solicitudServicioE>(0);
        try {
            conx = conectarBD.conectar();
            sttm = conx.createStatement();
            rs = sttm.executeQuery("SELECT ss.*,concat_ws(\" \",p.nombre1,p.nombre2,p.apellido1,p.apellido2) as cliente,s.nombre as servicio  FROM GEA_SV.solicitud_servicio ss, "
                    + "GEA_SV.persona p,GEA_SV.servicio s where p.id=ss.id_cliente and"
                    + " s.id=ss.id_servicio");
            while (rs.next()) {
                solicitudServicioE ss = new solicitudServicioE();
                ss.setId(rs.getInt("id"));
                ss.setFechaAtencion(rs.getDate("fecha_atencion"));
                ss.setFechaRealizacion(rs.getDate("fecha_realizacion"));
                ss.setHoraAtencion(rs.getString("hora_atencion").substring(11, 16));
                ss.setObservacion(rs.getString("observacion"));
                ss.setNomCliente(rs.getString("cliente"));
                ss.setNomServicio(rs.getString("servicio"));


                lst.add(ss);
            }
        } catch (Exception e) {
            System.out.println(e.getMessage());

        } finally {
            rs.close();
            sttm.close();
            conx.close();
            return lst;
        }
    }

    public solicitudServicioE buscarSolicitudes(int id) throws SQLException {
        solicitudServicioE ss = new solicitudServicioE();

        try {
            conx = conectarBD.conectar();
            sttm = conx.createStatement();
            rs = sttm.executeQuery("SELECT ss.*,concat_ws(\" \",p.nombre1,p.nombre2,p.apellido1,p.apellido2) as cliente,p.direccion,p.telefono, s.nombre as servicio  FROM GEA_SV.solicitud_servicio ss, "
                    + "GEA_SV.persona p,GEA_SV.servicio s where ss.estado=1 and p.id=ss.id_cliente and"
                    + " s.id=ss.id_servicio and ss.id=" + id + " ");

            while (rs.next()) {

                ss.setId(rs.getInt("id"));
                ss.setFechaAtencion(rs.getDate("fecha_atencion"));
                ss.setFechaRealizacion(rs.getDate("fecha_realizacion"));
                ss.setHoraAtencion(rs.getString("hora_atencion").substring(11, 16));
                ss.setObservacion(rs.getString("observacion"));
                ss.setNomCliente(rs.getString("cliente"));
                ss.setNomServicio(rs.getString("servicio"));
                ss.setDireccion(rs.getString("direccion"));
                ss.setTelefono(rs.getString("telefono"));


            }
        } catch (Exception e) {
            System.out.println(e.getMessage());

        } finally {
            rs.close();
            sttm.close();
            conx.close();
            return ss;
        }
    }

    public List<solicitudServicioE> buscarOrdenes(int id) throws SQLException {
        List<solicitudServicioE> lst = new ArrayList<solicitudServicioE>(0);

        try {
            conx = conectarBD.conectar();
            sttm = conx.createStatement();
            rs = sttm.executeQuery("SELECT ss.*,concat_ws(\" \",p.nombre1,p.nombre2,p.apellido1,p.apellido2) as cliente,p.direccion,p.telefono, s.nombre as servicio  FROM GEA_SV.solicitud_servicio ss, "
                    + "GEA_SV.persona p,GEA_SV.servicio s where ss.estado=0 and p.id=ss.id_cliente and"
                    + " s.id=ss.id_servicio and ss.id=(select id_solicitud from GEA_SV.orden_servicio where id_empleado=" + id + " AND estado=1)");

            while (rs.next()) {
                solicitudServicioE ss = new solicitudServicioE();
                ss.setId(rs.getInt("id"));
                ss.setFechaAtencion(rs.getDate("fecha_atencion"));
                ss.setFechaRealizacion(rs.getDate("fecha_realizacion"));
                ss.setHoraAtencion(rs.getString("hora_atencion").substring(11, 16));
                ss.setObservacion(rs.getString("observacion"));
                ss.setNomCliente(rs.getString("cliente"));
                ss.setNomServicio(rs.getString("servicio"));
                ss.setDireccion(rs.getString("direccion"));
                ss.setTelefono(rs.getString("telefono"));


                lst.add(ss);
            }
        } catch (Exception e) {
            System.out.println(e.getMessage());

        } finally {
            rs.close();
            sttm.close();
            conx.close();
            return lst;
        }
    }
}
